#define _CRT_SECURE_NO_DEPRECATE 
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
using namespace std;
FILE* fp;
unsigned char ch;
unsigned int a = 0, b = 0, c = 0;
//a代表字符数，即字符计数器，已初始化归零（在本次作业中，只统计字母数量）；
//b代表单词数，即单词计数器，已初始化归零（在本次作业中，由于使用的是英文文本，所以我们默认出现空格或者“,/./?/!”三个符号中的任意一个的时候记为一个单词。）
//c代表句子数，即句子计数器，已初始化归零（在本次作业中，由于使用的是英文文本，所以我们默认出现“./?/!”三个符号中的任意一个的时候记为一个句子。）
bool input_m(const char* name)
{
	if ((fp = fopen(name, "rb")) != NULL)  //r rb
	{
		while ((ch = fgetc(fp)) != EOF)
		{
			if (ch == '.' || ch == '?' || ch == '!')
			{
				c++;
				b++;
				continue;
			}
			else if (ch == ' ' || ch == ',')
			{
				b++;
				continue;
			}
			else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
			{
				a++;
				continue;
			}
			break;

		}
		return 1;
	}
	else
	{
		cout << "打开文件时发生错误" << endl;
		return 0;
	}
}
int main()
{
	char name[100], m; //name代表文件名,m代表选择的统计输出类别
	cout << "请输入：wc.exe -";
	cin >> name;
	input_m(name);
	cout << "这个文件中的字符数为:" << a << endl;
	cout << "这个文件中的单词数为:" << b << endl;
	cout << "这个文件中的句子数为:" << c << endl;
}
